package com.lpf.beans;

import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;

@Component
public class Cat implements InitializingBean, DisposableBean {

    public Cat() {
        System.out.println("cat constructor...");
    }

    /**
     * 功能描述：在 BeanFactory 销毁的时候对单实例调用此方法进行销毁
     *
     * @author  lpf
     * @since   2019-05-28 10:59:31
     * @return  void
     */
    @Override
    public void destroy() throws Exception {
        System.out.println("cat...destroy...");
    }

    /**
     * 功能描述：当 BeanFactory 创建好对象并且设置好属性之后，会调用此方法进行初始化，也就相当于初始化方法。
     *
     * @author  lpf
     * @since   2019-05-28 10:59:24
     * @return  void
     */
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("cat...afterPropertiesSet...");
    }

}
